package cn.terminus.client.customer.contractrentclause.param;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * ContractRentClauseNewParam
 *
 * @author makejava
 * @since 2021-07-21 11:01:09
 */
@Data
public class ContractRentClauseNewParam implements Serializable {
    private static final long serialVersionUID = 414416181551416358L;
    /**
     * 合同ID
     */
    private Long contractId;
    /**
     * 条款开始时间
     */
    @ApiModelProperty(name = "clauseBeginTime", value = "条款开始时间", required = true)
    private LocalDate clauseBeginTime;
    /**
     * 条款结束时间
     */
    @ApiModelProperty(name = "clauseEndTime", value = "条款结束时间", required = true)
    private LocalDate clauseEndTime;
    /**
     * 租金价格
     */
    @ApiModelProperty(name = "rentalPrice", value = "租金价格", required = true)
    private BigDecimal rentalPrice;
    /**
     * 租金单位code
     */
    @ApiModelProperty(name = "rentalUnitCode", value = "租金单位code", required = true)
    private String rentalUnitCode;
    /**
     * 付款时间code 延后 提前
     */
    @ApiModelProperty(name = "payBehaviorCode", value = "付款时间code 延后 提前", required = true)
    private String payBehaviorCode;
    /**
     * 付款天数
     */
    @ApiModelProperty(name = "payDayNumber", value = "付款天数", required = true)
    private Integer payDayNumber;
    /**
     * 付款时间类型 工作日，自然日，指定几号
     */
    @ApiModelProperty(name = "payDayTypeCode", value = " 付款时间类型 工作日，自然日，指定几号", required = true)
    private String payDayTypeCode;
    /**
     * 计费类型 按月，按实际天数
     */
    @ApiModelProperty(name = "chargingTypeCode", value = "计费类型 按月，按实际天数", required = true)
    private String chargingTypeCode;
    /**
     * 单价换算规则
     */
    @ApiModelProperty(name = "unitPrice_RoleCode", value = "单价换算规则code", required = true)
    private String unitPrice_RoleCode;
    /**
     * 换算天数
     */
    @ApiModelProperty(name = "conversionDayCode", value = "换算天数code", required = true)
    private String conversionDayCode;
    /**
     * 付款周期
     */
    @ApiModelProperty(name = "payCycle", value = "付款周期", required = true)
    private Integer payCycle;
    /**
     * 租期划分方式
     */
    @ApiModelProperty(name = "leaseTermDivisionCode", value = "租期划分方式", required = true)
    private String leaseTermDivisionCode;
    /**
     * 状态 1正常 2删除
     */
    private Integer status;


}
